/**
 * @filename:LecturerService Lecturer
 * @project constract  V1.0
 * Copyright(c) 2018 gong Co. Ltd. 
 * All right reserved. 
 */
package com.znufe.exam.service;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.znufe.exam.domain.Lecturer;
import com.znufe.exam.domain.lecturer.LecturerResponseObject;
import com.znufe.exam.viewmodel.admin.lecturer.LecturerPageRequestVM;

/**
 *  
 * @Description:  讲师表——SERVICE
 * @Author:       gong   
 * @CreateDate:   Lecturer
 * @Version:      V1.0
 *    
 */

public interface LecturerService extends BaseService<Lecturer> {
	
	/**
	 * @explain 查询讲师表对象
	 * @param   id
	 * @return  Lecturer
	 * @author  gong
	 */
    Lecturer selectByPrimaryKey(Integer id);
	
	/**
	 * @explain 删除讲师表对象
	 * @param   id
	 * @return  int
	 * @author  gong
	 */
	int deleteByPrimaryKey(Integer id);
	
	/**
	 * @explain 添加讲师表对象
	 * @param   lecturer
	 * @return  int
	 * @author  gong
	 */
	 int insertSelective(Lecturer lecturer);

	
	/**
	 * @explain 修改讲师表对象
	 * @param   lecturer
	 * @return  int
	 * @author  gong
	 */
	 int updateByPrimaryKeySelective(Lecturer lecturer);

	
	/**
	 * @explain 查询讲师表集合
	 * @param   lecturer
	 * @return  List<Lecturer>
	 * @author  gong
	 */
	 List<Lecturer> queryLecturerList(Lecturer lecturer);

     List<LecturerResponseObject> getLecturerListById(List<Integer> ids);

	/**
	 * getLecturerByName
	 *
	 * @explain 通过教师名称获取讲师
	 * @return: Lecturer
	 * @param: [lectureName]
	 * @Author: lin keqing
	 */
	 Lecturer getLecturerByName(String lecturerName);

	 /**
	  * lecturerPage
	  *
	  * @return: com.github.pagehelper.PageInfo<Lecturer>
	  * @param: [requestVM]
	  * @Author: lin keqing
	  */
	 PageInfo<Lecturer> page(LecturerPageRequestVM requestVM);

    /**
     * 删除职称时，删除该职称所有讲师
     * @param titleId
     * @return
     */
	 int deleteAllLecturerByTitle(Integer titleId);

}